home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.plaf.basic;
-
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Insets;
- import java.awt.Rectangle;
- import javax.swing.AbstractButton;
- import javax.swing.ButtonModel;
- import javax.swing.Icon;
- import javax.swing.JComponent;
- import javax.swing.SwingUtilities;
- import javax.swing.UIManager;
- import javax.swing.plaf.ComponentUI;
-
- public class BasicRadioButtonUI extends BasicToggleButtonUI {
- private static final BasicRadioButtonUI radioButtonUI = new BasicRadioButtonUI();
- protected Icon icon;
- private boolean defaults_initialized = false;
- private static final String propertyPrefix = "RadioButton.";
- private static Dimension size = new Dimension();
- private static Rectangle viewRect = new Rectangle();
- private static Rectangle iconRect = new Rectangle();
- private static Rectangle textRect = new Rectangle();
- private static Rectangle prefViewRect = new Rectangle();
- private static Rectangle prefIconRect = new Rectangle();
- private static Rectangle prefTextRect = new Rectangle();
- private static Insets prefInsets = new Insets(0, 0, 0, 0);
-
- public static ComponentUI createUI(JComponent var0) {
- return radioButtonUI;
- }
-
- public Icon getDefaultIcon() {
- return this.icon;
- }
-
- public Dimension getPreferredSize(JComponent var1) {
- if (((Container)var1).getComponentCount() > 0) {
- return null;
- } else {
- AbstractButton var2 = (AbstractButton)var1;
- String var3 = var2.getText();
- Icon var4 = var2.getIcon();
- if (var4 == null) {
- var4 = this.getDefaultIcon();
- }
-
- Font var5 = ((Component)var2).getFont();
- FontMetrics var6 = ((Component)var2).getToolkit().getFontMetrics(var5);
- prefViewRect.x = prefViewRect.y = 0;
- prefViewRect.width = 32767;
- prefViewRect.height = 32767;
- prefIconRect.x = prefIconRect.y = prefIconRect.width = prefIconRect.height = 0;
- prefTextRect.x = prefTextRect.y = prefTextRect.width = prefTextRect.height = 0;
- SwingUtilities.layoutCompoundLabel(var1, var6, var3, var4, var2.getVerticalAlignment(), var2.getHorizontalAlignment(), var2.getVerticalTextPosition(), var2.getHorizontalTextPosition(), prefViewRect, prefIconRect, prefTextRect, var3 == null ? 0 : ((BasicButtonUI)this).getDefaultTextIconGap(var2));
- int var7 = Math.min(prefIconRect.x, prefTextRect.x);
- int var8 = Math.max(prefIconRect.x + prefIconRect.width, prefTextRect.x + prefTextRect.width);
- int var9 = Math.min(prefIconRect.y, prefTextRect.y);
- int var10 = Math.max(prefIconRect.y + prefIconRect.height, prefTextRect.y + prefTextRect.height);
- int var11 = var8 - var7;
- int var12 = var10 - var9;
- prefInsets = ((JComponent)var2).getInsets(prefInsets);
- var11 += prefInsets.left + prefInsets.right;
- var12 += prefInsets.top + prefInsets.bottom;
- return new Dimension(var11, var12);
- }
- }
-
- protected String getPropertyPrefix() {
- return "RadioButton.";
- }
-
- protected void installDefaults(AbstractButton var1) {
- super.installDefaults(var1);
- if (!this.defaults_initialized) {
- this.icon = UIManager.getIcon(this.getPropertyPrefix() + "icon");
- this.defaults_initialized = true;
- }
-
- }
-
- public synchronized void paint(Graphics var1, JComponent var2) {
- AbstractButton var3 = (AbstractButton)var2;
- ButtonModel var4 = var3.getModel();
- Font var5 = ((Component)var2).getFont();
- var1.setFont(var5);
- FontMetrics var6 = var1.getFontMetrics();
- size = ((JComponent)var3).getSize(size);
- viewRect.x = viewRect.y = 0;
- viewRect.width = size.width;
- viewRect.height = size.height;
- iconRect.x = iconRect.y = iconRect.width = iconRect.height = 0;
- textRect.x = textRect.y = textRect.width = textRect.height = 0;
- Icon var7 = var3.getIcon();
- Object var8 = null;
- Object var9 = null;
- String var10 = SwingUtilities.layoutCompoundLabel(var2, var6, var3.getText(), var7 != null ? var7 : this.getDefaultIcon(), var3.getVerticalAlignment(), var3.getHorizontalAlignment(), var3.getVerticalTextPosition(), var3.getHorizontalTextPosition(), viewRect, iconRect, textRect, ((BasicButtonUI)this).getDefaultTextIconGap(var3));
- if (var2.isOpaque()) {
- var1.setColor(((Component)var3).getBackground());
- var1.fillRect(0, 0, size.width, size.height);
- }
-
- if (var7 != null) {
- if (!var4.isEnabled()) {
- var7 = var3.getDisabledIcon();
- } else if (var4.isPressed() && var4.isArmed()) {
- var7 = var3.getPressedIcon();
- if (var7 == null) {
- var7 = var3.getSelectedIcon();
- }
- } else if (var4.isSelected()) {
- if (var3.isRolloverEnabled() && var4.isRollover()) {
- var7 = var3.getRolloverSelectedIcon();
- if (var7 == null) {
- var7 = var3.getSelectedIcon();
- }
- } else {
- var7 = var3.getSelectedIcon();
- }
- } else if (var3.isRolloverEnabled() && var4.isRollover()) {
- var7 = var3.getRolloverIcon();
- }
-
- if (var7 == null) {
- var7 = var3.getIcon();
- }
-
- var7.paintIcon(var2, var1, iconRect.x, iconRect.y);
- } else {
- this.getDefaultIcon().paintIcon(var2, var1, iconRect.x, iconRect.y);
- }
-
- if (var10 != null) {
- if (var4.isEnabled()) {
- var1.setColor(((Component)var3).getForeground());
- BasicGraphicsUtils.drawString(var1, var10, var4.getMnemonic(), textRect.x, textRect.y + var6.getAscent());
- } else {
- var1.setColor(((Component)var3).getBackground().brighter());
- BasicGraphicsUtils.drawString(var1, var10, var4.getMnemonic(), textRect.x + 1, textRect.y + var6.getAscent() + 1);
- var1.setColor(((Component)var3).getBackground().darker());
- BasicGraphicsUtils.drawString(var1, var10, var4.getMnemonic(), textRect.x, textRect.y + var6.getAscent());
- }
-
- if (((JComponent)var3).hasFocus() && var3.isFocusPainted() && textRect.width > 0 && textRect.height > 0) {
- this.paintFocus(var1, textRect, size);
- }
- }
-
- }
-
- protected void paintFocus(Graphics var1, Rectangle var2, Dimension var3) {
- }
-
- protected void uninstallDefaults(AbstractButton var1) {
- super.uninstallDefaults(var1);
- this.defaults_initialized = false;
- }
- }
-